Fanuc robot was not moving to the CPR (Cartesian Position Register) location using the Uframe/Utool displayed in the path editor window for that location.
Referenced Utool/Uframe for this CPR location can only be from:
* OLP declarations
* Previously called cartesian locations
* Previously called JPR locations
* Not by the settings in the path editor columns for that CPR location.
Steps to reproduce:
Create a 2-location program for a Fanuc robot. The first point uses Uframe=0 & Utool=1. This point is Def Type is a JPR pose. The second point uses Uframe=1 & Utool=1. This point is Def Type CPR.
Running the program, it will set the Uframe=0 and Utool=1 when it executes the first JPR pose location. When it executes the CPR location it does not update the Uframe to 1.
Other comments:This unwanted motion was observed when a RoboGuide program was uploaded to PS with the robots download setting "Insert UFrame/UTool declaration" to ON. This download option impacts uploads and removed the OLP declarations from the programs.
We are ignoring explicit Uframe on locations with CPR target, and use the modal Uframe instead (a dummy location with the modal Uframe is simulated) to be able to correctly handle dynamically changing Uframe by the UFRAME_NUM = <val> command.
The modal Uframe is set by:
1. the UFRAME_NUM = <val> OLP command
2. the last simulated location Uframe
We don't differentiate if the modal Uframe comes from the OLP command or previous locations, so in this case we have UF 0 set on the first location and used for the second location as well.In general, we would not recommend using the option to automatically insert/remove UTOOL_NUM and UFRAME_NUM instructions, especially on programs using position registers.
Notes